package trial.hel;

import java.util.ArrayList;
import java.util.List;

/**
 * @创建人 MBY381
 * @创建时间 2022/4/29 15:44
 * @描述 暂无
 */
public class MeiTuan {
    public static void main(String[] args) {
        test(15);
        System.out.println("=======================");
        test(9);
    }
    public static void test(int n){
        long bound=Math.round(Math.sqrt(n));
        System.out.println(bound);
        List<List<Integer>> list=new ArrayList<>();
        for (int i = 2; i <= bound; i++) {
            List<Integer> li=new ArrayList<>();
            boolean valid=false;
            int num=n/i;
            System.out.println("num:  "+num);
            if(n%i==0){
//                valid=true;
                list.add(findCollection(num,i/2,true));
                if(num!=i){
                    list.add(findCollection(i,num/2,true));
                }
//               li.add(i);

//                for (int j = 1; j <= num/2; j++) {
//                    li.add(i-j);
//                    li.add(i+j);
//                }

            }else if(n%i==i*0.5){
//                valid=true;
                System.out.println(n/i+" "+i);
                list.add(findCollection((n/i)-i+2,(n/i)+i-1,false));
//                for (int j = 0; j < i-1; j++) {
//                    li.add(n/i-j);
//                    li.add(n/i+j+1);
//                }
            }
            if(valid){
                list.add(li);
            }
        }
        System.out.println(list);
    }
    public static List<Integer> findCollection(int m,int n,boolean ponitFive){
        List<Integer> list=new ArrayList<>();
        if(ponitFive) {
            for (int i = m - n; i <= m + n; i++) {
                list.add(i);
            }
        }else {
            for (int i = m; i <= n; i++) {
                list.add(i);
            }
        }
        return list;
    }
}
